/*     */ package eos.moe.dragoncore;
/*     */ import com.google.gson.Gson;
/*     */ import com.google.gson.JsonElement;
/*     */ import com.google.gson.JsonObject;
/*     */ import java.io.File;
/*     */ import java.io.FileInputStream;
/*     */ import java.io.IOException;
/*     */ import java.io.InputStreamReader;
/*     */ import java.nio.charset.StandardCharsets;
/*     */ import java.util.Collection;
/*     */ import java.util.HashMap;
/*     */ import java.util.Locale;
/*     */ import java.util.Map;
/*     */ import java.util.UUID;
/*     */ import java.util.concurrent.ExecutorService;
/*     */ import net.minecraft.client.Minecraft;
/*     */ import org.apache.commons.io.FileUtils;
/*     */ import org.apache.commons.io.filefilter.SuffixFileFilter;
/*     */ 
/*     */ public class au {
/*  21 */   public static au z = new au();
/*     */   
/*  23 */   private final Map<String, gz> i = new ConcurrentHashMap<>();
/*  24 */   private Gson w = new Gson();
/*  25 */   private File q = new File(nm.d, "ResourceCache");
/*  26 */   private ExecutorService g = Executors.newFixedThreadPool(1);
/*     */   
/*     */   public gz v(String str) {
/*  29 */     return this.i.get(str);
/*     */   }
/*     */   
/*     */   public void h(String str) {
/*  33 */     String str1 = str.replace("\\", "/");
/*  34 */     this.g.submit(() -> z(str));
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void z(String str1, String str2, byte[] arrayOfByte) {
/*  48 */     String str = str1.replace("\\", "/");
/*  49 */     this.g.submit(() -> {
/*     */           z(str1);
/*     */ 
/*     */           
/*     */           JsonObject jsonObject = new JsonObject();
/*     */ 
/*     */           
/*     */           jsonObject.addProperty("name", str1);
/*     */ 
/*     */           
/*     */           jsonObject.addProperty("md5", str2);
/*     */ 
/*     */           
/*     */           String str3 = this.w.toJson((JsonElement)jsonObject);
/*     */ 
/*     */           
/*     */           String str4 = UUID.randomUUID().toString();
/*     */ 
/*     */           
/*     */           try {
/*     */             File file1 = new File(this.q, str4 + ".data1");
/*     */ 
/*     */             
/*     */             File file2 = new File(this.q, str4 + ".data");
/*     */ 
/*     */             
/*     */             FileUtils.writeByteArrayToFile(file2, jk.z(arrayOfByte));
/*     */             
/*     */             FileUtils.write(file1, str3, StandardCharsets.UTF_8);
/*     */             
/*     */             this.i.put(str1.toLowerCase(Locale.ROOT), new gz(file1, file2, str1, str2));
/*  80 */           } catch (Exception exception) {
/*     */             exception.printStackTrace();
/*     */           } 
/*     */         });
/*     */   }
/*     */   
/*     */   public void s() {
/*  87 */     this.g.submit(() -> {
/*     */           y();
/*     */           Map<Object, Object> map = new HashMap<>();
/*     */           for (Map.Entry<String, gz> entry : this.i.entrySet()) {
/*     */             map.put(((gz)entry.getValue()).v(), ((gz)entry.getValue()).z());
/*     */           }
/*     */           uy.v((Map)map);
/*     */         });
/*     */   }
/*     */ 
/*     */ 
/*     */   
/*     */   public void y() {
/* 100 */     Map<Object, Object> map = new HashMap<>();
/* 101 */     this.q.mkdirs();
/*     */     
/* 103 */     Collection collection = FileUtils.listFiles(this.q, (IOFileFilter)new SuffixFileFilter(".data1"), FalseFileFilter.FALSE);
/*     */     
/* 105 */     for (File file1 : collection) {
/* 106 */       File file2 = new File(file1.getParentFile(), file1.getName().replace(".data1", ".data"));
/* 107 */       if (!file2.exists()) {
/*     */         continue;
/*     */       }
/* 110 */       InputStreamReader inputStreamReader = null;
/*     */       
/* 112 */       try { inputStreamReader = new InputStreamReader(new FileInputStream(file1), StandardCharsets.UTF_8);
/* 113 */         JsonObject jsonObject = (JsonObject)this.w.fromJson(inputStreamReader, JsonObject.class);
/* 114 */         if (jsonObject.has("name") && jsonObject.has("md5")) {
/* 115 */           String str1 = jsonObject.get("name").getAsString();
/* 116 */           String str2 = jsonObject.get("md5").getAsString();
/* 117 */           map.put(str1.toLowerCase(Locale.ROOT), new gz(file1, file2, str1, str2));
/*     */         }  }
/* 119 */       catch (FileNotFoundException fileNotFoundException)
/*     */       
/*     */       { try {
/* 122 */           inputStreamReader.close();
/* 123 */         } catch (IOException iOException) {} } finally { try { inputStreamReader.close(); } catch (IOException iOException) {} }
/*     */     
/*     */     } 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */     
/* 131 */     this.i.clear();
/* 132 */     this.i.putAll(map);
/*     */   }
/*     */   
/*     */   public void t() {
/* 136 */     this.g.submit(() -> Minecraft.func_71410_x().func_152344_a(mr::v));
/*     */   }
/*     */ 
/*     */   
/*     */   public void h() {
/* 141 */     this.g.shutdownNow();
/*     */   }
/*     */ }


/* Location:              D:\fanbian\[D][龙之核心]DragonCore-2.6.0.3.jar!\eos\moe\dragoncore\au.class
 * Java compiler version: 8 (52.0)
 * JD-Core Version:       1.1.3
 */